package org.jeecg.modules.geo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @Description: bim_geo_event
 * @Author: jeecg-boot
 * @Date:   2022-12-05
 * @Version: V1.0
 */
@Data
@TableName("bim_geo_event")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="bim_geo_event对象", description="bim_geo_event")
public class BimGeoEvent implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private java.lang.String id;

	/**应用ID*/
	@Excel(name = "应用ID", width = 15, dictTable = "bim_geo_app", dicText = "app_name", dicCode = "id")
	@Dict(dictTable = "bim_geo_app", dicText = "app_name", dicCode = "id")
    @ApiModelProperty(value = "应用ID")
    private java.lang.String appId;

	/**事件名称*/
	@Excel(name = "事件名称", width = 15)
    @ApiModelProperty(value = "事件名称")
    private java.lang.String eventName;

	/**鼠标点击事件类型，1：左键，2：右键，3：滚轮*/
	@Excel(name = "鼠标点击事件类型，1：左键，2：右键，3：滚轮", width = 15, dicCode = "GEO_EVENT_MOUSE_EVENT_TYPE")
	@Dict(dicCode = "GEO_EVENT_MOUSE_EVENT_TYPE")
    @ApiModelProperty(value = "鼠标点击事件类型，1：左键，2：右键，3：滚轮")
    private java.lang.Integer mouseEventType;

	/**操作类型，1：embed，2：link，3：callback, 5:route*/
	@Excel(name = "操作类型，1：embed，2：link，3：callback, 5:route", width = 15, dicCode = "GEO_EVENT_OPERATE_TYPE")
	@Dict(dicCode = "GEO_EVENT_OPERATE_TYPE")
    @ApiModelProperty(value = "操作类型，1：embed，2：link，3：callback, 5:route")
    private java.lang.Integer operateType;

	/**类型，1：设备，2:区域*/
	@Excel(name = "类型，1：设备，2:区域", width = 15)
    @ApiModelProperty(value = "类型，1：设备，2:区域")
    @Dict(dicCode = "GEO_EVENT_TYPE")
    private java.lang.Integer type;

	/**跳转类型*/
	@Excel(name = "跳转类型", width = 15)
    @ApiModelProperty(value = "跳转类型")
    @Dict(dicCode = "GEO_RULE_TYPE")
    private java.lang.Integer ruleType;

	/**事件路径*/
	@Excel(name = "事件路径", width = 15)
    @ApiModelProperty(value = "事件路径")
    private java.lang.String path;
	/**参数*/
	@Excel(name = "参数", width = 15)
    @ApiModelProperty(value = "参数")
    private java.lang.String parameter;
	/**内嵌窗口宽度*/
	@Excel(name = "内嵌窗口宽度", width = 15)
    @ApiModelProperty(value = "内嵌窗口宽度")
    private java.lang.Integer windowWidth;
	/**内嵌窗口高度*/
	@Excel(name = "内嵌窗口高度", width = 15)
    @ApiModelProperty(value = "内嵌窗口高度")
    private java.lang.Integer windowHeight;
	/**是否默认*/
	@Excel(name = "是否默认", width = 15)
    @ApiModelProperty(value = "是否默认")
    @Dict(dicCode = "DEFAULT_FLAG")
    private java.lang.Integer defaultFlag;
	/**是否启用*/
	@Excel(name = "是否启用", width = 15)
    @ApiModelProperty(value = "是否启用")
    @Dict(dicCode = "ENABLE_FLAG")
    private java.lang.Integer enableFlag;
	/**是否删除*/
	@Excel(name = "是否删除", width = 15)
    @ApiModelProperty(value = "是否删除")
    @Dict(dicCode = "del_flag")
    private java.lang.Integer delFlag;
	/**事件描述*/
	@Excel(name = "事件描述", width = 15)
    @ApiModelProperty(value = "事件描述")
    private java.lang.String description;
	/**创建人员ID*/
	@Excel(name = "创建人员ID", width = 15)
    @ApiModelProperty(value = "创建人员ID")
    private java.lang.String createUserId;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	/**更新人员ID*/
	@Excel(name = "更新人员ID", width = 15)
    @ApiModelProperty(value = "更新人员ID")
    private java.lang.String updateUserId;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private java.util.Date updateTime;
}
